<?php
	session_start();

	// 在图片正中加上用户姓名的水印

	// 所有读取图片的操作，必须独立为一个php页面（不能和之前输出text/html内容的页面混写）
	
	// 获得要读取的图片id
	$imgid = $_REQUEST["imgid"];
	
	
	require_once "../db/conn.php";
	
	$sql = "select imgcontent, imgtype from t_user_image where imgid = $imgid";
	
	$result = mysqli_query($conn, $sql);
	
	$row = mysqli_fetch_assoc($result);
	
	// 将数据库中的字符串图片数据转为图片资源
	$image = imagecreatefromstring($row["imgcontent"]);
	
	// 获得原图的宽和高
	$image_w = imagesx($image);
	$image_h = imagesy($image);
	
	// 直接在$image图片资源居中位置上加水印
	
	// 必须先获得水印的宽和高
	$size = $image_h / 8;			// 字号为图片高度的1/10
	$angle = 0;						// 字体倾斜角度
	$fontfile = "simsun.ttc";
	$text = $_REQUEST["uname"];
	
	$bound = imagettfbbox($size, $angle, $fontfile, $text);
	
	/*
	echo "<pre>";
	print_r($bound);
	echo "</pre>";
	*/
	/*
	 * upperleft(6, 7)			upperright(4, 5)
	 * 
	 * lowerleft(0, 1)			lowerright(2, 3)
	 */
	
	// 文字水印的宽
	$text_w = $bound[2] - $bound[0];
	
	// 文字水印的高
	$text_h = abs($bound[7]);	// 以文字基线作为绘制的y坐标
	
	// 水印颜色
	$color = imagecolorallocatealpha($image, 0, 0, 0, 90);		// 0~127的透明度（127完全透明）
	
	// 绘制文字到图片中指定的x, y坐标上
	imagettftext($image, $size, $angle, ($image_w - $text_w) / 2, ($image_h + $text_h) / 2, $color, $fontfile, $text);
	
	$imgtype = $row["imgtype"];
	// 定义响应图片的类型
	header("content-type: $imgtype");
	
	// 根据图片类型调用不同的方法向浏览器输出该格式的图片
	if ($imgtype== "image/jpeg")
		imagejpeg($image);
	elseif ($imgtype== "image/gif")
		imagegif($image);
	elseif ($imgtype== "image/png")
		imagepng($image);
?>